Skip to main content

Read Endpoints

All paths are relative to https://api.clocktower.finance.

All read endpoints use GET unless noted.

Protocol reads accept optional ?chainId= (decimal or CAIP-2). Omitted uses the REST default (Base 8453). See Chain selection.

Protocol and catalog

EndpointDescription
GET /catalogMachine-readable route catalog, tier limits, and chains[] registry (not filtered by chainId)
GET /protocol/stateCurrent protocol fee configuration (?chainId= optional)
GET /statusLightweight health check

Subscriptions

EndpointDescription
GET /subscriptionsSearch/discover subscriptions. Query: provider, token, frequency, cancelled (default false), includeDetails, first (lane cap: free 10, developer 25), skip, plus optional chainId. See Rate limits
GET /subscriptions/dueSubscriptions due on a given day/frequency
GET /subscriptions/:idSingle subscription by ID
GET /subscriptions/:id/subscribersSubscribers for a subscription
GET /subscriptions/:id/fee-balance?address=0x…Fee balance for a subscriber
GET /subscriptions/:id/detailsCurrent url/description (latest DetailsLog)

Accounts

EndpointDescription
GET /accounts/:address/subscriptionsSubscriptions for an account. Query: bySubscriber=true|false (default false = created as provider; true = subscribed to)
GET /accounts/:addressEnriched account: subscribedTo and created arrays

Tokens

EndpointDescription
GET /approved-tokensList approved tokens with minimum and paused
GET /approved-tokens/:tokenSingle token configuration

History and profiles (subgraph-backed)

These hit the expensive rate bucket and subgraph daily cap. Support ?first=N&skip=M pagination.

EndpointDescription
GET /subscriptions/:id/historyActivity history (SubLog events)
GET /accounts/:address/activityCombined subscriber + provider activity
GET /providers/:addressLatest provider profile
GET /subscriptions/:id/details-historyURL/description change history

Subgraph errors return a graceful response with an error field rather than failing the entire request.

History response fields

SubLog events include:

  • eventName — human-readable event type
  • amount, amountRaw, tokenDecimals — normalized amounts
  • formattedTimestamp, formattedAmount
Design note

There is no raw GraphQL proxy. All subgraph access goes through shaped, rate-limited endpoints with formatting and normalization.